﻿using MyCode.Project.Infrastructure.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MyCode.Project.Domain.Message.Request.User
{
    public class MemberRequst
    {
        /// <summary>
        /// 店铺ID:选择的店铺ID，或当前登录用户所属店铺ID
        /// </summary>
        public Guid? ShopID { get; set; }

        /// <summary>
        /// 搜索关键字
        /// </summary>
        public string KeyWord { get; set; }

        /// <summary>
        /// 卡券ID集合
        /// </summary>
        public List<Guid> CardIDList { get; set; }

        /// <summary>
        /// 等级ID集合
        /// </summary>
        public List<Guid> GradeIDList { get; set; }

        /// <summary>
        /// 标签ID集合
        /// </summary>
        public List<Guid> TagIDList { get; set; }

        /// <summary>
        /// 时间类型 0：不限   2：三天前 3：一周前  4：一个月前
        /// </summary>
        public int TimeType { get; set; }

        /// <summary>
        /// 上次到店时间范围搜索
        /// </summary>
        public TimeRange EditTime { get; set; }

        /// <summary>
        /// 生日日期搜索开始 月-日
        /// </summary>
        public string BirthStart { get; set; }

        /// <summary>
        /// 生日日期搜索结束 月-日
        /// </summary>
        public string BirthEnd { get; set; }     

        /// <summary>
        /// 营销顾问ID
        /// </summary>
        public Guid? ClerkId { get; set; }

        /// <summary>
        /// 是否已添加微信 -1全部; 0=否;1=是      
        /// </summary>           
        public int? IfAddWx { get; set; }

        /// <summary>
        /// 是否已添加社区 -1全部; 0=否;1=是       
        /// </summary>           
        public int? IfAddCommunity { get; set; }

        /// <summary>
        /// 转营销顾问时取消选中的会员ID
        /// </summary>
        public List<Guid> NotSelectedIds { get; set; }

        /// <summary>
        /// 转营销顾问时前端页面选中的会员ID数组
        /// </summary>
        public List<Guid> HadSelectedIds { get; set; }

        /// <summary>
        /// 转营销顾问时总共选中的会员人数
        /// </summary>
        public int? HadSelectedCount { get; set; }

        /// <summary>
        /// 批量修改营销顾问时的顾问ID
        /// </summary>
        public Guid? ConsultantId { get; set; }

        /// <summary>
        /// 最小会员余额
        /// </summary>
        public decimal? MinAccount { get; set; }

        /// <summary>
        /// 最大会员余额
        /// </summary>
        public decimal? MaxAccount { get; set; }

        /// <summary>
        /// 最小剩余服务次数
        /// </summary>
        public int? MinServiceQty { get; set; }

        /// <summary>
        /// 最大剩余服务次数
        /// </summary>
        public int? MaxServiceQty { get; set; }

        /// <summary>
        /// 排序  1=升序  0=倒序
        /// </summary>
        public int? SortType { get; set; }

        /// <summary>
        /// 排序字段
        /// </summary>
        public string SortString { get; set; }

        /// <summary>
        /// 后端使用的字段
        /// </summary>
        public Guid? Id { get; set; }

        /// <summary>
        /// 会员资料增加来源  未选=NULL  0= 其他; 1= 抖音; 2= 美团; 3=自然流量; 4=老顾客裂变  5=1元公益、派单  6=第三方合作     
        /// </summary>           
        public List<int> AddFromType { get; set; }

        ///// <summary>
        ///// 会员状态 -1=全部; 1=拓客 2=留客 3=锁客
        ///// </summary>
        //public int? TuoKeType { get; set; }

        ///// <summary>
        ///// 会员类型 -1=全部 1=新会员 2=老会员
        ///// </summary>
        //public int? NewOrOld { get; set; }

        ///// <summary>
        ///// 拓客标签 -1=全部 0=未体验 1=体验一次 2=体验2次 3=体验3次以上
        ///// </summary>
        //public int? TuoKeLabel { get; set; }

       
        ///// <summary>
        ///// 留客标签 -1=全部 0="服务次数0-4" 1="服务次数5-6" 2="服务次数7-8" 3="服务次数9-10"
        ///// </summary>
        //public int? LiuKeLabel { get; set; }

        ///// <summary>
        ///// 锁客标签 -1=全部 0="剩余服务20次以上"  1="剩余服务10-19次" 2=剩余服务5-9次" 3="剩余服务≤5次"
        ///// </summary>
        //public int? SuoKeLabel { get; set; }

    }

    #region 需要修改的会员信息
    /// <summary>
    /// 需要修改的会员信息
    /// </summary>
    public class SetMemberRequst
    {
        /// <summary>
        /// 会员营销顾问关系主键ID
        /// </summary>
        public Guid ID { get; set; }

        /// <summary>
        /// 会员主键ID
        /// </summary>
        public Guid MemberID { get; set; }

        /// <summary>
        /// 会员名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 电话
        /// </summary>
        public string Mobile { get; set; }

        /// <summary>
        /// 生日  "月-日"
        /// </summary>
        public string BirthDay { get; set; }


        /// <summary>
        /// 生日  "年-月-日"
        /// </summary>
        public DateTime? BirthDay2 { get; set; }

        /// <summary>
        /// 会员备注
        /// </summary>
        public string Note { get; set; }

        /// <summary>
        /// 是否已添加微信  0=否;1=是      
        /// </summary>           
        public int? IfAddWx { get; set; }

        /// <summary>
        /// 是否已添加社区  0=否;1=是       
        /// </summary>           
        public int? IfAddCommunity { get; set; }

        /// <summary>
        /// Desc:年龄，店员手填
        /// Default:0       
        /// </summary>           
        public int? Age { get; set; }

    }
    #endregion

    #region 拟邀名称
    public class InviteMemberReq
    {
        /// <summary>
        /// 模糊搜索关键字
        /// </summary>
        public string KeyWord { get; set; }

        /// <summary>
        /// 搜索时间（邀约列表可用）
        /// </summary>
        public DateTime CheckTime { get; set; }
    }
    #endregion


    public class MemberOfInviteRequst
    {
        /// <summary>
        /// 店铺ID:选择的店铺ID，或当前登录用户所属店铺ID
        /// </summary>
        public Guid? ShopID { get; set; }

        /// <summary>
        /// 搜索关键字
        /// </summary>
        public string KeyWord { get; set; }

        /// <summary>
        /// 只看套餐客户  0=不勾选;1=勾选
        /// </summary>
        public int IfTaoCan { get; set; }

        /// <summary>
        /// 排除已邀约客户  0=不勾选;1=勾选
        /// </summary>
        public int IfInvite { get; set; }

    }

  
    /// <summary>
    /// 快速添加的会员信息
    /// </summary>
    public class QuicklyAddMemberInformationAct
    {

        /// <summary>
        /// 店铺ID:选择的店铺ID
        /// </summary>
        public Guid? ShopId { get; set; }

        /// <summary>
        /// 会员名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 电话
        /// </summary>
        public string Mobile { get; set; }

        /// <summary>
        /// 会员资料增加来源 未选=NULL  0= 其他; 1= 抖音; 2= 美团; 3=自然流量; 4=老顾客裂变  5=1元公益、派单       
        /// </summary>           
        public int? AddFromType { get; set; }


    }


    public class TuoKeMemberRequst
    {
        /// <summary>
        /// 店铺ID:选择的店铺ID，或当前登录用户所属店铺ID
        /// </summary>
        public Guid? ShopID { get; set; }

        /// <summary>
        /// 搜索关键字
        /// </summary>
        public string KeyWord { get; set; }
      

        /// <summary>
        /// 转营销顾问时取消选中的会员ID
        /// </summary>
        public List<Guid> NotSelectedIds { get; set; }

        /// <summary>
        /// 转营销顾问时前端页面选中的会员ID数组
        /// </summary>
        public List<Guid> HadSelectedIds { get; set; }

        /// <summary>
        /// 转营销顾问时总共选中的会员人数
        /// </summary>
        public int? HadSelectedCount { get; set; }

        /// <summary>
        /// 批量修改营销顾问时的顾问ID
        /// </summary>
        public Guid? ConsultantId { get; set; }
      

        /// <summary>
        /// 排序  1=升序  0=倒序
        /// </summary>
        public int? SortType { get; set; }

        /// <summary>
        /// 排序字段
        /// </summary>
        public string SortString { get; set; }

        /// <summary>
        /// 后端使用的字段
        /// </summary>
        public Guid? Id { get; set; }

      

        /// <summary>
        /// 会员状态 -1=全部; 1=拓客 2=留客 3=锁客
        /// </summary>
        public int? TuoKeType { get; set; }

        /// <summary>
        /// 会员类型 -1=全部 1=新会员 2=老会员
        /// </summary>
        public int? NewOrOld { get; set; }

        /// <summary>
        /// 拓客标签 -1=全部 0=未体验 1=体验一次 2=体验2次 3=体验3次以上
        /// </summary>
        public int? TuoKeLabel { get; set; }


        /// <summary>
        /// 留客标签 -1=全部 0="服务次数0-4" 1="服务次数5-6" 2="服务次数7-8" 3="服务次数9-10"
        /// </summary>
        public int? LiuKeLabel { get; set; }

        /// <summary>
        /// 锁客标签 -1=全部 0="剩余服务20次以上"  1="剩余服务10-19次" 2=剩余服务5-9次" 3="剩余服务≤5次"
        /// </summary>
        public int? SuoKeLabel { get; set; }

    }



}
